package sysvalidate

import (
	"errors"
	"github.com/vueadmin/app/admin/sys"
	"github.com/vueadmin/utils/conv"
)

type MenuValidate struct{}

func (MenuValidate) Validate(menu *sys.Menu) (err error) {
	if conv.IsEmpty(menu.Title) {
		return errors.New("菜单名称不能为空")
	}
	if conv.IsEmpty(menu.ControllerName) {
		return errors.New("控制器名称不能为空")
	}
	if conv.Int(menu.CreateTable) > 0 {
		if conv.IsEmpty(menu.Pk) {
			return errors.New("数据表主键不能为空")
		}
		if conv.IsEmpty(menu.Tablename) {
			return errors.New("数据表不能为空")
		}
	}

	return
}
